#include <stdio.h>
#include <stdlib.h>
#include "sqlite3.h"
#include "sqlFunc.h"
#include <windows.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */





//void main(void) 
//{ 
//	int i;
//  unsigned char digest[16]; //存放结果 
// 
//  //第一种用法: 
// 
//  MD5_CTX md5c; 
//  MD5Init(&md5c); //初始化 
//  //MD5UpdaterString(&md5c,"你要测试的字符串"); 
// // MD5FileUpdateFile(&md5c,"./Dev-Cpp_5.11_TDM-GCC_4.9.2_Setup.exe"); 
// // MD5Final(digest,&md5c); 
// 
//  //第二种用法: 
// // MDString("你要测试的字符串",digest); //直接输入字符串并得出结果 
//  //printf("%s\n\n\n",digest);
// 
// //第三种用法: 
// MD5File("./Dev-Cpp_5.11_TDM-GCC_4.9.2_Setup.exe",digest); //直接输入文件路径并得出结果 
// for(i=0;i<16;i++){
// 	printf("%d ",digest[i]);
// }
// printf("\n\n\n");
// 
// 
// 
// 
//  MD5File("./Dev-Cpp_5.11_TDM-GCC_4.9.2_Setup.exe",digest); //直接输入文件路径并得出结果 
// for(i=0;i<16;i++){
// 	printf("%d ",digest[i]);
// }
// printf("\n\n\n");
// 
//} 


#include <sys/stat.h>
#include <conio.h> 
void myfilerecursive(sqlite3 *db,char *path);

char fileType[20]={0};  

void ceshigetchar(char *p, unsigned short len)
{
	unsigned short i=0,tmp = 0;
	char c=0;
	//printf("\r\n ------1---键输入盘缓冲区读取九个字符并保存给c数组 ---ceshigetchar------------\r\n");
	while(1){
		c=getchar();
		//printf("%c -- %d\n",p[i],i); 
		if(c==0 || c=='\r' || c=='\n'){
			//goto sl;
			return;
		}else if(i>=len){
			while ((tmp = getchar()) != '\n')
			{
				;//空语句  用于清空缓冲区多出来字符 
			}
			//goto sl;
			return;
		}else{
			p[i]=c;
		}
		++i;
	}
//sl:
	//printf("%s  %d\r\n",p,i);	//输出获取到的字符 
	//printf("--------1-----------end---------------\r\n\r\n\r\n\r\n\r\n");
} 


int main(int argc,char **argv)
{
    char name[600] = "H:/bp神经网络预测";
    sqlite3 *db=NULL;
    struct stat buf;
    int result;
    if((db=openSql(db))==0 || argc<2){
        sqlite3_close(db); //关闭数据库
		remove("zieckey.db"); //删除数据库
		return;	
	}
  	printf("err:%d\n",createrLinShiTabFunc(db));
  	printf("createrMd5TabFunc err:%d\n",createrMd5TabFunc(db));
   	result = stat(argv[1], &buf);
  	if(S_IFDIR & buf.st_mode){
   		printf("目录:%S\n",argv[1]);
   		printf("输入要删除重复文件的后缀,例如(.zip):");
   		ceshigetchar(fileType,sizeof(fileType)-1);	//getchar()键输入盘缓冲区读取九个字符并保存给c数组 
   		printf("\n");
   		myfilerecursive(db,argv[1]);	//将指定路径插入临时表 
  	}else if(S_IFREG & buf.st_mode){
  		printf("错误不能拖入文件\n");
  	}

    InsrtDirMd5(db); 
    sqlite3_close(db); //关闭数据库
	remove("zieckey.db"); //删除数据库
	printf("\n按任意键退出\n");
	getch(); 
    return 0;
}
